home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / wpspi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  8.3 KB  |  334 lines

  1. /*****************************************************************/
  2. /**               Microsoft Windows 4.00                        **/
  3. /**           Copyright (C) Microsoft Corp., 1995-1996          **/
  4. /*****************************************************************/
  5.  
  6. /* WPSPI.H -- WebPost Provider Interface definitions
  7.  *
  8.  */
  9.  
  10.  
  11. #ifndef _wpspi_h_
  12. #define _wpspi_h_
  13. #pragma option push -b
  14.  
  15.  
  16. # if !defined( dllexp)
  17. #define dllexp __declspec( dllexport )
  18. # endif // dllexp
  19.  
  20. //
  21. // Assume packing on DWORD boundary
  22. //
  23.  
  24. #include <pshpack4.h>
  25.  
  26.  
  27. //
  28. // Insert OLE defines
  29. //
  30.  
  31. #define     _INC_OLE
  32.  
  33. #ifdef __cplusplus
  34. extern "C" {            /* Assume C declarations for C++ */
  35. #endif  /* __cplusplus */
  36.  
  37.  
  38. #include <ole2.h>
  39.  
  40.  
  41. #include <shlobj.h>
  42.  
  43.  
  44.  
  45. #include <windowsx.h>
  46.  
  47.  
  48. #include <commctrl.h>
  49.  
  50.  
  51. #ifdef __cplusplus
  52. }       /* end "C" */
  53. #endif  /* __cplusplus */
  54.  
  55.  
  56. #include <wpguid.h>
  57.  
  58.  
  59. // Dialog ID for Provider's pages should be between the following
  60. #define IDD_WEBPOST_PROVIDER_FIRST        9000
  61. #define IDD_WEBPOST_PROVIDER_LAST        9999
  62.  
  63. #define WPCP_HOMEPAGEURL            TEXT("HomePageURL")
  64. #define WPCP_BASEURL                TEXT("BaseURL")
  65. #define WPCP_BASEPATH                TEXT("BasePath")
  66.  
  67.  
  68. /************************************************************************
  69.  
  70. IWPProvider interface
  71.  
  72. ************************************************************************/
  73.  
  74. DECLARE_INTERFACE_(IWPProvider, IUnknown)
  75. {
  76.     // *** IUnknown methods ***
  77.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  78.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  79.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  80.  
  81.     // *** Specific functions ***
  82. };
  83.  
  84.  
  85. #ifndef UNICODE
  86. #define IWPSite        IWPSiteA
  87. #else
  88. #define IWPSite        IWPSiteW
  89. #endif
  90.  
  91. /************************************************************************
  92.  
  93. IWPSite interface
  94.  
  95. ************************************************************************/
  96.  
  97. DECLARE_INTERFACE_(IWPSiteA, IUnknown)
  98. {
  99.     // *** IUnknown methods ***
  100.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  101.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  102.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  103.  
  104.     // *** Specific functions ***
  105.     STDMETHOD(GetSiteInfo) (THIS_ 
  106.                             LPWPSITEINFOA lpSiteInfo, 
  107.                             LPDWORD lpcbSiteInfo) PURE;
  108.     STDMETHOD(NetworkConnect) (THIS_ 
  109.                                 LPCSTR lpszUserName, 
  110.                                 LPCSTR lpszPassword) PURE;
  111.     STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
  112.     STDMETHOD(ServerLogin) (THIS_ 
  113.                             LPCSTR lpszUserName, 
  114.                             LPCSTR lpszPassword) PURE;
  115.     STDMETHOD(ServerLogout) (THIS_ ) PURE;
  116.     STDMETHOD(PostFiles) (THIS_ 
  117.                             DWORD     cLocalPaths, 
  118.                             LPSTR     *lppszLocalPaths, 
  119.                             LPDWORD    lpcbURL,
  120.                             LPSTR    lpszURL,
  121.                             DWORD     dwFlag) PURE;
  122.     STDMETHOD(DeleteFile) (THIS_
  123.                             LPCSTR    lpszFile) PURE;
  124.     STDMETHOD(FindFirstFile) (THIS_
  125.                                 LPCSTR lpszSearchFile,
  126.                                 LPWIN32_FIND_DATAA lpFindFileData,
  127.                                 LPHANDLE lpSearchHandle) PURE;
  128.     STDMETHOD(FindNextFile) (THIS_
  129.                                 HANDLE hSearchHandle,
  130.                                 LPWIN32_FIND_DATAA lpFindFileData) PURE;
  131.     STDMETHOD(FindClose) (THIS_
  132.                             HANDLE hSearchHandle) PURE;    
  133.     STDMETHOD(Commit) (THIS_ ) PURE;
  134.     STDMETHOD(GetParam) (THIS_ 
  135.                             LPCSTR     lpszParameter,
  136.                             LPDWORD    lpcchValue,
  137.                             LPSTR    lpszValue) PURE;
  138.     STDMETHOD(SetParam) (THIS_ 
  139.                             LPCSTR    lpszParameter,
  140.                             LPCSTR    lpszValue) PURE;
  141.     STDMETHOD(GetError) (THIS_ 
  142.                             LPDWORD    lpdwErrorType,
  143.                             LPDWORD    lpdwErrorCode,
  144.                             LPDWORD    lpcbError,
  145.                             LPSTR    lpszError) PURE;
  146.     STDMETHOD(AddWizardPages) (THIS_ 
  147.                                 LPVOID lpv,
  148.                                 LPFNADDPROPSHEETPAGE lpfnAdd, 
  149.                                 LPARAM lParam) PURE;
  150. };
  151.  
  152.  
  153. DECLARE_INTERFACE_(IWPSiteW, IUnknown)
  154. {
  155.     // *** IUnknown methods ***
  156.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, PVOID * ppvObj) PURE;
  157.     STDMETHOD_(ULONG,AddRef) (THIS)  PURE;
  158.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  159.  
  160.     // *** Specific functions ***
  161.     STDMETHOD(GetSiteInfo) (THIS_ 
  162.                             LPWPSITEINFOW lpSiteInfo, 
  163.                             LPDWORD lpcbSiteInfo) PURE;
  164.     STDMETHOD(NetworkConnect) (THIS_ 
  165.                                 LPCWSTR lpszUserName, 
  166.                                 LPCWSTR lpszPassword) PURE;
  167.     STDMETHOD(NetworkDisconnect) (THIS_ ) PURE;
  168.     STDMETHOD(ServerLogin) (THIS_ 
  169.                             LPCWSTR lpszUserName, 
  170.                             LPCWSTR lpszPassword) PURE;
  171.     STDMETHOD(ServerLogout) (THIS_ ) PURE;
  172.     STDMETHOD(PostFiles) (THIS_ 
  173.                             DWORD     cLocalPaths, 
  174.                             LPWSTR     *lppszLocalPaths, 
  175.                             LPDWORD    lpcbURL,
  176.                             LPWSTR    lpszURL,
  177.                             DWORD     dwFlag) PURE;
  178.     STDMETHOD(DeleteFile) (THIS_
  179.                             LPCWSTR    lpszFile) PURE;
  180.     STDMETHOD(FindFirstFile) (THIS_
  181.                                 LPCWSTR lpszSearchFile,
  182.                                 LPWIN32_FIND_DATAW lpFindFileData,
  183.                                 LPHANDLE lpSearchHandle) PURE;
  184.     STDMETHOD(FindNextFile) (THIS_
  185.                                 HANDLE hSearchHandle,
  186.                                 LPWIN32_FIND_DATAW lpFindFileData) PURE;
  187.     STDMETHOD(FindClose) (THIS_
  188.                             HANDLE hSearchHandle) PURE;    
  189.     STDMETHOD(Commit) (THIS_ ) PURE;
  190.     STDMETHOD(GetParam) (THIS_ 
  191.                             LPCWSTR     lpszParameter,
  192.                             LPDWORD    lpcchValue,
  193.                             LPWSTR    lpszValue) PURE;
  194.     STDMETHOD(SetParam) (THIS_ 
  195.                             LPCWSTR    lpszParameter,
  196.                             LPCWSTR    lpszValue) PURE;
  197.     STDMETHOD(GetError) (THIS_ 
  198.                             LPDWORD    lpdwErrorType,
  199.                             LPDWORD    lpdwErrorCode,
  200.                             LPDWORD    lpcbError,
  201.                             LPWSTR    lpszError) PURE;
  202.     STDMETHOD(AddWizardPages) (THIS_ 
  203.                                 LPVOID lpv,
  204.                                 LPFNADDPROPSHEETPAGE lpfnAdd, 
  205.                                 LPARAM lParam) PURE;
  206. };
  207.  
  208.  
  209. /************************************************************************
  210.  
  211. Global APIs
  212.  
  213. ************************************************************************/
  214.  
  215. #ifndef UNICODE
  216. #define     WPPBINDTOSITE_EP_NAME    "WppBindToSiteA"
  217. #define     WPPLISTSITES_EP_NAME    "WppListSitesA"
  218. #define     WPPDELETESITE_EP_NAME    "WppDeleteSiteA"
  219. #define        WppBindToSite            WppBindToSiteA
  220. #define        WppListSites            WppListSitesA
  221. #define     WppDeleteSite            WppDeleteSiteA
  222. #define        PFN_WPPBINDTOSITE        PFN_WPPBINDTOSITEA
  223. #define        PFN_WPPLISTSITES        PFN_WPPLISTSITESA
  224. #define        PFN_WPPDELETESITE        PFN_WPPDELETESITEA
  225.  
  226. #else
  227. #define     WPPBINDTOSITE_EP_NAME    "WppBindToSiteW"
  228. #define     WPPLISTSITES_EP_NAME    "WppListSitesW"
  229. #define     WPPDELETESITE_EP_NAME    "WppDeleteSiteW"
  230. #define        WppBindToSite            WppBindToSiteW
  231. #define        WppListSites            WppListSitesW
  232. #define     WppDeleteSite            WppDeleteSiteW
  233. #define        PFN_WPPBINDTOSITE        PFN_WPPBINDTOSITEW
  234. #define        PFN_WPPLISTSITES        PFN_WPPLISTSITESW
  235. #define        PFN_WPPDELETESITE        PFN_WPPDELETESITEW
  236. #endif
  237.  
  238. // dwFlag for WppBindToSite
  239. #define WPF_FORCE_BIND        0x00000100
  240.  
  241. dllexp
  242. HRESULT
  243. WINAPI
  244. WppBindToSiteA(
  245.     HWND    hwnd,
  246.     LPCSTR    lpszSiteName,
  247.     LPCSTR    lpszURL,
  248.     REFIID    riid,
  249.     DWORD    dwFlag,
  250.     DWORD    dwReserved,
  251.     PVOID     *ppvObj);
  252.  
  253. typedef
  254.    HRESULT (WINAPI *PFN_WPPBINDTOSITEA)(HWND    hwnd,
  255.                                         LPCSTR lpszSiteName,
  256.                                         LPCSTR    lpszURL,
  257.                                         REFIID     riid,
  258.                                         DWORD    dwFlag,
  259.                                         DWORD    dwReserved,
  260.                                         PVOID     *ppvOut);
  261.  
  262. dllexp
  263. HRESULT
  264. WINAPI
  265. WppListSitesA(
  266.     LPDWORD            lpcbSites,
  267.     LPWPSITEINFOA    lpSiteInfo,
  268.     LPDWORD            lpcSites);
  269.  
  270. typedef
  271.    HRESULT (WINAPI *PFN_WPPLISTSITESA)(LPDWORD            lpcbSites,
  272.                                         LPWPSITEINFOA    lpSiteInfo,
  273.                                         LPDWORD            lpcSites);
  274.                                         
  275. dllexp
  276. HRESULT
  277. WINAPI
  278. WppDeleteSiteA(
  279.     LPCSTR    lpszSiteName);
  280.  
  281. typedef
  282.    HRESULT (WINAPI *PFN_WPPDELETESITEA)(LPCSTR    lpszSiteName);
  283.  
  284.  
  285. dllexp
  286. HRESULT
  287. WINAPI
  288. WppBindToSiteW(
  289.     HWND    hwnd,
  290.     LPCWSTR    lpszSiteName,
  291.     LPCWSTR    lpszURL,
  292.     REFIID    riid,
  293.     DWORD    dwFlag,
  294.     DWORD    dwReserved,
  295.     PVOID     *ppvObj);
  296.  
  297. typedef
  298.    HRESULT (WINAPI *PFN_WPPBINDTOSITEW)(HWND    hwnd,
  299.                                         LPCWSTR lpszSiteName,
  300.                                         LPCWSTR    lpszURL,
  301.                                         REFIID     riid,
  302.                                         DWORD    dwFlag,
  303.                                         DWORD    dwReserved,
  304.                                         PVOID     *ppvOut);
  305.  
  306. dllexp
  307. HRESULT
  308. WINAPI
  309. WppListSitesW(
  310.     LPDWORD            lpcbSites,
  311.     LPWPSITEINFOW    lpSiteInfo,
  312.     LPDWORD            lpcSites);
  313.  
  314. typedef
  315.    HRESULT (WINAPI *PFN_WPPLISTSITESW)(LPDWORD            lpcbSites,
  316.                                         LPWPSITEINFOW    lpSiteInfo,
  317.                                         LPDWORD            lpcSites);
  318.                                         
  319. dllexp
  320. HRESULT
  321. WINAPI
  322. WppDeleteSiteW(
  323.     LPCWSTR    lpszSiteName);
  324.  
  325. typedef
  326.    HRESULT (WINAPI *PFN_WPPDELETESITEW)(LPCWSTR    lpszSiteName);
  327.  
  328.  
  329. #include <poppack.h>
  330.  
  331.  
  332. #pragma option pop
  333. #endif // _wpspi_h_
  334.